2025年4月蓝桥杯蓝桥C++(STEMA)中/高级
STEMA
2025
2025-07-24 20:41:16
95次
一、单选题
二、编程题
交替序列
提示信息:子序列:对于一个序列 a,删除其中 0 个或多个元素而不改变剩余元素的顺序,得到的序列称为 a 的子序列。
例如:序列 a 为 {1,2,3,4,5},则序列 {1},{1,2,3},{1,3,5} 等都可以称为序列 a 的子序列。
题目描述:给定一个包含 n 个整数的序列 a,请从中找出一个满足以下条件的子序列:
(1)该子序列中相邻元素的正负号相反(如果第一个元素为正数,则第二个元素为负数,第三个元素为正数,以此类推。
反之,如果第一个元素为负数,则第二个元素为正数,第三个元素为负数,以此类推);
(2)该子序列长度最长;
(3)在满足以上条件的情况下,该子序列中的元素之和最大。
最后输出该子序列中的元素之和。
例如:n = 5;序列 a 为 {2,-1,-3,15,10}。
同时满足条件 1 和条件 2 的子序列有 {2,-1,15},{2,-1,10},{2,-3,15},{2,-3,10};
其中元素之和最大的子序列是 {2,-1,15},和为 16。
输入描述:
第一行输入一个整数 n(1≤n≤2×10^5);
第二行输入 n 个整数 ai(-10^9≤ai≤10^9,ai≠0),整数之间以一个空格隔开。
输出描述:
输出一个整数,表示满足题目要求的子序列的元素之和。
样例输入:
5 2 -1 -3 15 10
样例输出:
16
【知识点】 蓝桥杯C++中/高级
寻找幸运数
题目描述:小夏的班级正在进行一个寻找幸运数的游戏。游戏开始时,老师写下了一个幸运数,除了小夏之外其他同学都看到了这个数。
此时,班级里有 n 位同学提供了幸运数的范围 [L,R],其中 L 代表范围的左边界,R代表范围的右边界。已知这个幸运数位于所有同学提供的范围之内(包含边界)。
请根据这 n 名同学提供的范围,帮助小夏找出幸运数的最小确定范围。
例如:n = 2;2 位同学提供的幸运数范围分别是 [3,10]、[0,7];
幸运数的最小确定范围是 [3,7]。
输入描述:
第一行输入一个整数 n(2≤n≤100),表示提供幸运数范围的同学数量;
接下来 n 行,每行输入 2 个整数 L,R(0≤L≤R≤1000),分别表示该同学提供的幸运数范围的左边界和右边界,整数之间以一个空格隔开。
输出描述:
输出两个整数,分别表示幸运数的最小确定范围的左边界和右边界,整数之间以一个空格隔开。
样例输入:
2 3 10 0 7
样例输出:
3 7
【知识点】 蓝桥杯C++中/高级
wolf
题目描述:给定一个仅包含小写字母的字符串 S,需按以下规则从中挑选字符组成 "wolf":
(1)每次挑选 4 个字符,且字符相对顺序保持不变;
(2)这 4 个字符从左到右恰好组成字符串 "wolf";
(3)字符串 S 中的每个字符最多被挑选一次。
请计算字符串 S 中最多能挑选出多少组 "wolf"。
例 1:S = "wolwfolf";通过下图的挑选方式,最多能挑出 2 组 "wolf";

例 2:S = "awboclffowolwof";通过下图的挑选方式,最多能挑出 2 组 "wolf"。

输入描述:
输入一个仅包含小写字母的字符串 S(4≤S 的长度≤1000)。
输出描述:
输出一个整数,表示最多能挑选出 "wolf" 的组数。
样例输入:
wolwfolf
样例输出:
2
【知识点】 蓝桥杯C++中/高级
